perm filename FUNCTI.DIF[CLS,LSP]3 blob
sn#833453 filedate 1987-02-01 generic text, type T, neo UTF8
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2L
1) %\input patch
1) \def\bookline{\CLOS\ Specification}
**** File 2) FUNCTI.15[CLS,LSP]/1P/2L
2) \def\bookline{\CLOS\ Specification}
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/266L
1) ``Method Selection and Combination''
1) ``Standard Method Combination''
1) ``Declarative Method Combination''
1) \endcom
**** File 2) FUNCTI.15[CLS,LSP]/1P/265L
2) See the sections ``Method Selection and Combination,''
2) ``Standard Method Combination,'' and ``Declarative Method Combination.''
2) \endcom
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/344L
1) {\tt rho-theta-position}. The method for {\bf class-changed} took care
1) of initializing the {\tt rho} and {\tt theta} slots
**** File 2) FUNCTI.15[CLS,LSP]/1P/340L
2) {\tt rho-theta-position). The method for {\bf class-changed} took care
2) of initializing the {\tt rho} and {\tt theta} slots
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/401L
1) The second semantic difficulty concerns optimization of slot access; it
1) occurs when {\bf change-class} changes the
**** File 2) FUNCTI.15[CLS,LSP]/1P/397L
2) The second semantic difficulty also concerns optimization of slot access; it
2) occurs when {\bf change-class} changes the
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/435L
1) specifying that implementations must allocate
1) slots in order from the least specific class to the most specific (that is,
**** File 2) FUNCTI.15[CLS,LSP]/1P/431L
2) specifying the implementations must allocate
2) slots in order from the least specific class to the most specific (that is,
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/459L
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) ``Redefining Classes''
1) {\bf class-changed}
**** File 2) FUNCTI.15[CLS,LSP]/1P/455L
2) See the section ``Redefining Classes''.
2) {\bf class-changed}
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/522L
1) ``Redefining Classes''
1) {\bf change-class}
**** File 2) FUNCTI.15[CLS,LSP]/1P/518L
2) See the section ``Redefining Classes''.
2) {\bf change-class}
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/590L
1) class of the given object is {\it class-name\/} itself or a subclass
1) of the class {\it class-name\/}.
**** File 2) FUNCTI.15[CLS,LSP]/1P/586L
2) class of the given object is {\it class-name\/} itself or a superclass
2) of the class {\it class-name\/}.
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/657L
1) {\bf :accessor} {\it generic-function-name\/} specifies
1) that an unqualified method is to be
1) defined on the generic function named {\it generic-function-name\/} to
**** File 2) FUNCTI.15[CLS,LSP]/1P/653L
2) The {\bf :accessor} {\it generic-function-name\/} option
2) specifies that an unqualified method is to be
2) defined on the generic function named {\it generic-function-name\/} to
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/668L
1) {\bf :reader} {\it generic-function-name\/} specifies
1) that an unqualified method is to be
**** File 2) FUNCTI.15[CLS,LSP]/1P/664L
2) The {\bf :reader} {\it generic-function-name\/} option specifies
2) that an unqualified method is to be
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/676L
1) {\bf :allocation} {\it allocation-type\/} specifies where storage is to be
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) allocated for the given slot. Storage for a slot may be static or dynamic;
**** File 2) FUNCTI.15[CLS,LSP]/1P/672L
2) The {\bf :allocation} {\it allocation-type\/} option is
2) used to specify where storage is to be
2) allocated for the given slot. Storage for a slot may be static or dynamic;
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/717L
1) {\bf :initform} {\it form\/} provides
1) a default initial value form to be used in the initialization of the
1) slot. The {\bf :initform} option may be specified at most once for a
**** File 2) FUNCTI.15[CLS,LSP]/1P/714L
2) The {\bf :initform} {\it form\/} option is used to provide
2) an initial value form to be used in the initialization of the
2) slot. The {\bf :initform} option may be specified at most once for a
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/738L
1) {\bf :type} {\it type-specifier\/} specifies
1) the type of the slot contents. The expression
**** File 2) FUNCTI.15[CLS,LSP]/1P/735L
2) The {\bf :type} {\it type-specifier\/} option specifies
2) the type of the slot contents. The expression
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/754L
1) or to all class slots. The following class options are available:
1) \beginlist
1) \item{\bull}
1) {\tt ({\bf :accessor-prefix} {\it string-or-symbol\/})} specifies that for each
1) slot, an unqualified method to read the value of the slot is to be defined on the
1) generic function named {\it string-or-symbol}{\bf -} followed by the
**** File 2) FUNCTI.15[CLS,LSP]/1P/751L
2) or to all class slots.
2) The following options are available:
2) \beginlist
2) \item{\bull}
2) The {\bf :accessor-prefix} option specifies that, for each
2) slot, an unqualified method to read the value of the slot is to be defined on the
2) generic function named {\it string-or-symbol}{\bf -} followed by the
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/771L
1) {\tt ({\bf :reader-prefix} {\it string-or-symbol\/})} specifies
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) that for each slot, an unqualified
1) method to read the value of the slot is to be defined
**** File 2) FUNCTI.15[CLS,LSP]/1P/769L
2) The {\tt ({\bf :reader-prefix} {\it string-or-symbol\/})} option
2) specifies that for each slot, an unqualified
2) method to read the value of the slot is to be defined
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/782L
1) {\tt ({\bf :constructor} {\it symbol [boa-arglist]\/})} causes a
1) constructor function to be
**** File 2) FUNCTI.15[CLS,LSP]/1P/780L
2) The {\tt ({\bf :constructor} {\it symbol [boa-arglist]\/})} option causes a
2) constructor function to be
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/813L
1) {\tt ({\bf :documentation} {\it string\/})} attaches
1) a documentation string to the class name.
1) The documentation type for this string is {\bf type}.
**** File 2) FUNCTI.15[CLS,LSP]/1P/811L
2) The {\tt ({\bf :documentation} {\it string\/})} option
2) attaches a documentation string to the class name.
2) The documentation type for this string is {\bf type}.
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/852L
1) {\tt ({\bf :metaclass} {\it class-name\/})} specifies
1) that instances of the class being defined
1) are to have a different metaclass than the default provided by the
**** File 2) FUNCTI.15[CLS,LSP]/1P/850L
2) The {\tt ({\bf :metaclass} {\it class-name\/})} option
2) is used to specify that instances of the class being defined
2) are to have a different metaclass than the default provided by the
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/975L
1) ``Redefining Classes''
1) ``Determining the Class Precedence List''
**** File 2) FUNCTI.15[CLS,LSP]/1P/973L
2) ``Determining the Class Precedence List''
***************
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1005L
1) \hbox{(:method-combination {\it symbol\/} \star{\curly{arg\/}}) $\vert$}
1) \hbox{(:generic-function-class {\it class-name\/}) $\vert$}
**** File 2) FUNCTI.15[CLS,LSP]/1P/1001L
2) \hbox{(:method-combination {\it symbol\/} \star{\curly{args\/}}) $\vert$}
2) \hbox{(:generic-function-class {\it class-name\/}) $\vert$}
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1032L
1)
1) \item{\bull} {\bf :argument-precedence-order} specifies the order in which
1) the required arguments in a call to the generic function are tested for
**** File 2) FUNCTI.15[CLS,LSP]/1P/1029L
2) \item{\bull} The {\bf :argument-precedence-order} option
2) is used to specify the order order in which
2) the required arguments in a call to the generic function are tested for
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1042L
1) \item{\bull}
1) The {\bf declare} option is used to specify declarations that pertain
1) to the generic function. The following standard Common Lisp
1) declaration is allowed:
1) \beginlist
1) \itemitem{--}
1) {\bf optimize} specifies whether method selection should
1) be optimized for speed or space, but has no effect on methods.
1) To control how a method is optimized, an {\bf optimize} declaration
1) must be placed directly in the {\bf defmethod}.
1) {\bf speed} and {\bf space} are the only standard qualities, but
1) other qualities may be recognized by particular implementations.
1) A simple implementation that has only one method selection
1) technique and ignores the {\bf optimize} declaration is valid.
1) %\itemitem{--}
1) %{\bf type} and its abbreviated forms in Table 4-1 declare type
1) %restrictions on the arguments. Such declarations are automatically
1) %copied into methods, with variable names translated to corresponding
1) %parameter names.
1) %
1) %\itemitem{--}
1) %{\bf ignore} specifies arguments that are never used. Such
1) %declarations are automatically copied into methods, with variable
1) %names translated to corresponding parameter names.
1) \endlist
1) The {\bf special}, {\bf ftype}, {\bf function}, {\bf inline}, {\bf
1) notinline}, and {\bf declaration} declarations are not permitted.
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) Individual implementations can support their own additional
1) declarations. If an implementation notices a declaration that it does
1) not support and that has not been proclaimed as a non-standard
1) declaration name, it should issue a warning.
1) \item{\bull} The {\bf :documentation} argument associates a
**** File 2) FUNCTI.15[CLS,LSP]/1P/1039L
2) \item{\bull} The {\bf declare} option is used to specify declarations
2) that pertain to the generic function. These declarations do not apply
2) to the methods. The only declaration required in this standard is
2) {\bf optimize}, which can have the value of {\bf speed} or {\bf space}. This
2) allows the user to control whether method selection is optimized for
2) speed or space, but has no effect on individual methods. Declarations
2) that have semantic effect ({\bf special}, {\bf inline}, and {\bf
2) notinline} declarations) are not permitted. Other types of
2) declarations are advice to the compiler that may or may not affect the
2) implementation of the generic function. Individual implementations
2) are not required to implement them. If an implementation notices a
2) declaration that it does not support and that has not been proclaimed
2) as a non-standard declaration name, it should issue a warning.
2) \item{\bull} The {\bf :documentation} argument associates a
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1168L
1) The {\it lambda-list\/} argument of {\bf defgeneric-options} specifies
1) the ``shape'' of lambda lists for the methods of this generic function.
1) All methods for the generic function must be congruent with this
1) shape. For further details on method congruency, see ``Congruent
1) Lambda-lists for all Methods of a Generic Function''
1) Some implementations might add other options to {\bf defgeneric-options}.
**** File 2) FUNCTI.15[CLS,LSP]/1P/1142L
2) %No -- this just needs a cross reference to the Concepts
2) %section that describes it. Shouldn't duplicate it here. -Sonya
2) %[Needs discussion about compatibility of methods.]
2) Congruent Lambda-lists for all Methods of a Generic Function
2) Some implementations might add other options to {\bf defgeneric-options}.
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1218L
1) {\it setf-lambda-list\/} argument is {\tt ({\it variable-name\/})}.
1) It describes the parameter that receives the {\it new-value\/}
1) argument to {\bf setf}.
1) The keyword options are the same as for {\bf defgeneric-options}.
**** File 2) FUNCTI.15[CLS,LSP]/1P/1191L
2) The keyword options are the same as for {\bf defgeneric-options}.
***************
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1243L
1) The {\it lambda-list\/} argument of {\bf defgeneric-options-setf} specifies
1) the ``shape'' of lambda lists for the methods of this setf generic function.
1) All methods for the setf generic function must be congruent with this
1) shape. For further details on method congruency, see ``Congruent
1) Lambda-lists for all Methods of a Generic Function''
1) \label See Also:
**** File 2) FUNCTI.15[CLS,LSP]/1P/1212L
2) %Cross reference is adequate. No need to duplicate it here. -Sonya
2) %[Needs discussion about compatibility of methods.]
2) \label See Also:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1273L
1) Long form:
**** File 2) FUNCTI.15[CLS,LSP]/1P/1239L
2) Short form:
2) \Defmac {define-method-combination} {name operator \star{\curly{keyword argument}}}
2) Long form:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1287L
1) Short form:
1) \Defmac {define-method-combination} {name \star{\curly{keyword argument}}}
1) \label Arguments:
**** File 2) FUNCTI.15[CLS,LSP]/1P/1257L
2) \label Arguments:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1298L
1) The long form syntax of {\bf define-method-combination} is recognized
**** File 2) FUNCTI.15[CLS,LSP]/1P/1264L
2) The short form syntax of {\bf define-method-combination} is recognized
2) when the second subform is a non-{\bf nil} symbol. {\it operator\/} is
2) a symbol that can be the name of a function, macro, or special form.
2) When the short form is used, {\it name\/} is defined as a type of method
2) combination that produces a Lisp form {\bf ({\it operator method-call
2) method-call...\/})}.
2) Keyword options for the short form are:
2) \beginlist
2) \item{\bull}
2) {\bf :documentation} {\it string\/} documents the method-combination type.
2) \item{\bull}
2) {\bf :identity-with-one-argument} {\it boolean\/} enables an optimization
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
2) when {\it boolean\/} is true (the default is false).
2) If there is exactly one applicable method, and it is a primary method,
2) that method serves as the effective method and {\it operator\/} is not called.
2) Use this option with operators such as {\bf progn}, {\bf and}, {\bf $+$},
2) and {\bf max}.
2) \endlist
2) None of the subforms is evaluated.
2) The long form syntax of {\bf define-method-combination} is recognized
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1304L
1) {\it lambda-list\/} is an ordinary lambda-list. It receives any arguments provided
1) after {\it name\/} in the {\bf :method-combination} option to
**** File 2) FUNCTI.15[CLS,LSP]/1P/1296L
2) {\it lambda-list\/} is an ordinary lambda-list. The first argument it
2) receives is the generic-function. It also receives any arguments provided
2) after {\it name\/} in the {\bf :method-combination} option to
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1329L
1) \beginlist
1) \item{\bull}
1) {\bf :description} {\it format-string\/} provides a
1) description of the role of methods in this method-group.
1) Programming environment tools use
1) % TEX won't let me use #' in the next line
1) {\bf (apply (function format) stream {\it format-string\/}
1) (method-qualifiers {\it method\/}))}
1) to print this description, which is expected to be concise, such
1) as one or two words. The argument {\it format-string\/} is not evaluated.
1) \item{\bull}
1) {\bf :order} {\it order\/} specifies the order of methods.
1) The argument is a form evaluating to {\bf :most-specific-first} or
1) {\bf :most-specific-last}. If it evaluates to any other value,
1) an error is signalled.
1) If {\bf :order} is not specified, it defaults to {\bf :most-specific-first}.
1) \item{\bull}
1) {\bf :required} {\it boolean\/} states whether at least one method
1) in this method-group is required.
1) If {\it boolean\/} is true (not {\bf nil}), and the method-group is empty
**** File 2) FUNCTI.15[CLS,LSP]/1P/1322L
2) \numitem{{\bf :description} {\it format-string\/}} \break
2) Programming environment tools use
2) % TEX won't let me use #' in the next line
2) {\bf (apply (function format) stream {\it format-string\/}
2) (method-qualifiers {\it method\/}))}
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
2) to print a concise description of a method's role (one or two words).
2) The argument {\it format-string\/} is not evaluated.
2) \numitem{{\bf :order} {\it order\/}} \break
2) The argument is a form evaluating to {\bf :most-specific-first} or
2) {\bf :most-specific-last}. If it evaluates to any other value,
2) an error is signalled.
2) If {\bf :order} is not specified, it defaults to {\bf :most-specific-first}.
2) \numitem{{\bf :required} {\it boolean\/}} \break
2) If {\it boolean\/} is true (not {\bf nil}), and the method-group is empty
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1357L
1) \endlist
1) \label Short Form Arguments:
1) The short form syntax of {\bf define-method-combination} is recognized
1) when the second subform is a non-{\bf nil} symbol or is not present.
1) When the short form is used, {\it name\/} is defined as a type of method
1) combination that produces a Lisp form {\bf ({\it operator method-call
1) method-call...\/})}. {\it operator\/} is
1) a symbol that can be the name of a function, macro, or special form.
1) {\it operator\/} can be specified by keyword option; it defaults to {\it name\/}.
1) Keyword options for the short form are:
1) \beginlist
1) \item{\bull}
1) {\bf :documentation} {\it string\/} documents the method-combination type.
1) \item{\bull}
1) {\bf :identity-with-one-argument} {\it boolean\/} enables an optimization
1) when {\it boolean\/} is true (the default is false).
1) If there is exactly one applicable method, and it is a primary method,
1) that method serves as the effective method and {\it operator\/} is not called.
1) Use this option with operators such as {\bf progn}, {\bf and}, {\bf $+$},
1) and {\bf max}.
1) \item{\bull}
1) {\bf :operator} {\it operator\/} specifies the name of the operator.
1) If not specified, the name of the operator and the name of the method
1) combination type are the same.
1) \endlist
1) None of the subforms is evaluated.
1) \label Values:
**** File 2) FUNCTI.15[CLS,LSP]/1P/1342L
2) \def\numhangsize{25pt}
2) \label Values:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1586L
1) specialized.
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) It describes the parameter that receives the {\it new-value\/}
1) argument to {\bf setf}.
1) The {\it var\/} argument in the {\it specialized-setf-lambda-list\/}
**** File 2) FUNCTI.15[CLS,LSP]/1P/1537L
2) specialized.
2) The {\it var\/} argument in the {\it specialized-setf-lambda-list\/}
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1609L
1) parameter specializers and the same qualifiers, {\bf defmethod-setf} replaces
1) the existing method with the one now being defined.
**** File 2) FUNCTI.15[CLS,LSP]/1P/1558L
2) parameter specializers and the same qualifiers, {\bf defmethod} replaces
2) the existing method with the one now being defined.
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1677L
1) If the first argument is not a symbol, the second argument must not be
1) supplied. If the first argument is a generic function object, method
1) object, or class object, {\bf documentation} returns the documentation
1) string for that object.
1) If the first argument is a symbol, the second argument must be
**** File 2) FUNCTI.15[CLS,LSP]/1P/1626L
2) If the first argument is a generic function object, method object, or class
2) object, {\bf documentation} returns the documentation string for that
2) object.
2) If the first argument is not a symbol, the second argument must not be
2) supplied.
2) If the first argument is a symbol, the second argument must be
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1688L
1) If the first argument is a symbol and the second argument is {\bf type},
1) {\bf documentation} returns the documentation string of the class object
1) named by the symbol.
1) If the first argument is a symbol and the second argument is {\bf
1) function}, {\bf documentation} returns the documentation string of the
1) function or generic function named by the symbol.
1) If the first argument is a symbol and the second argument is {\bf setf},
1) {\bf documentation} returns the documentation string of the setf generic
1) function called in an expression such as {\tt (setf ({\it
1) generic-function-name arguments}) {\it new-value})}.
1) \label Values:
**** File 2) FUNCTI.15[CLS,LSP]/1P/1639L
2) If the first argument is a symbol naming a class and the
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
2) second argument is {\bf type}, {\bf documentation} returns
2) the documentation string of the class object named by the symbol.
2) If the first argument is a symbol naming a function or generic funcion
2) and the second argument is {\bf function},
2) {\bf documentation} returns the documentation string of the function
2) or generic function named by the symbol.
2) If the first argument is a symbol naming a generic function
2) and the second argument is {\bf setf},
2) {\bf documentation} returns the documentation string of the
2) setf generic function called in an expression such as
2) {\tt (setf ({\it generic-function-name arguments}) {\it new-value})}.
2) If no documentation is associated with the given object, {\bf documentation}
2) returns {\bf nil}.
2) \label Values:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/1949L
1) \label See Also:
1) ``Declarative Method Combination.''
1) \endcom
**** File 2) FUNCTI.15[CLS,LSP]/1P/1905L
2) \endcom
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2007L
1) Each required argument should be included exactly once,
1) so the full and unambiguous precedence order is
1) supplied. If this condition is not met an error is signalled.
1) \item{\bull}
1) The {\bf :method-combination} argument is a symbol or a list, whose
1) car is a symbol and cdr is any arguments accepted by the method combination.
1) The symbol names a type of method combination. Any arguments that follow
**** File 2) FUNCTI.15[CLS,LSP]/1P/1959L
2) Each required argument should be included exactly once as a {\it
2) parameter-name}, so the full and unambiguous precedence order is
2) supplied. If this condition is not met an error is signalled.
2) \item{\bull}
2) The {\bf :method-combination} argument is a symbol or list, whose
2) car is a symbol and crd is any arguments accepted by the method combination.
2) The symbol names a type of method combination. Any arguments that follow
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2050L
1) The function {\bf make-generic-function} is part of the the
1) programmatic interface to {\bf defgeneric-options}.
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) {\bf make-generic-function} creates a new generic function object,
1) whereas {\bf defgeneric-options} modifies an existing object, or
1) creates one if the generic function does not already exist.
1) \label See Also:
**** File 2) FUNCTI.15[CLS,LSP]/1P/2002L
2) The function {\bf make-generic-function} is the
2) programmatic interface to {\bf defgeneric-options}.
2) \label See Also:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2171L
1) \Defun {make-method-call} {method-list {\key :operator :identity-with-one-argument}}
1) \label Arguments:
**** File 2) FUNCTI.15[CLS,LSP]/1P/2120L
2) \Defun {make-method-call} {method-list {\key :operator :around :identity-with-one-argument}}
2) \label Arguments:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2181L
1) If {\bf :identity-with-one-argument} is true and {\it
**** File 2) FUNCTI.15[CLS,LSP]/1P/2130L
2) If {\bf :around} is true and the length of {\it method-list\/}
2) is greater than 1, the result is a form that calls the first method and
2) arranges for {\bf call-next-method} to reach the rest of the methods in the
2) order in which they appear in {\it method-list}. If {\bf :around} is
2) true, {\bf :operator} must not be specified. The default value of
2) {\bf :around} is {\bf nil}.
2) If {\bf :identity-with-one-argument} is true and {\it
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2199L
1) If {\bf :operator} is {\bf :call-next-method}, the methods are
1) combined in a different way, rather than calling a function named
1) {\bf :call-next-method}. The result is a form that calls the first method and
1) arranges for {\bf call-next-method} to reach the rest of the methods in the
1) order in which they appear in {\it method-list}. If there is only one
1) method in {\it method-list}, the result is a form that calls that
1) method, and if the method calls {\bf call-next-method}, an error is signalled.
1) As a convenience, if {\it method-list\/} is a method object, it is
**** File 2) FUNCTI.15[CLS,LSP]/1P/2155L
2) As a convenience, if {\it method-list\/} is a method object, it is
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2219L
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
1) ``Declarative Method Combination''
1) \label Possible Extensions:
**** File 2) FUNCTI.15[CLS,LSP]/1P/2167L
2) See ``Declarative Method Combination.''
2) \label Possible Extensions:
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2261L
1) ``Declarative Method Combination''
1) \endcom
**** File 2) FUNCTI.15[CLS,LSP]/1P/2209L
2) See ``Declarative Method Combination.''
2) \endcom
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2271L
1) The function {\bf method-qualifiers} returns a list of the qualifiers of
1) the given method. This is particularly useful when the body forms of
1) {\bf define-method-combination} perform additional filtering or
1) processing of the method-group lists.
1) % I don't understand sentence-2 here (i.e., what is meant by ``the body'').
**** File 2) FUNCTI.15[CLS,LSP]/1P/2219L
2) The function {\bf method-qualifiers} returns a list of the qualifiers
2) of the given method. This is particularly useful
2) when the body forms perform additional filtering or processing of the
2) method-group lists.
2) % I don't understand sentence-2 here (i.e., what is meant by ``the body'').
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2305L
1) ``Declarative Method Combination''
1) \endcom
**** File 2) FUNCTI.15[CLS,LSP]/1P/2253L
2) See ``Declarative Method Combination.''
2) \endcom
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2328L
1) ``Declarative Method Combination''
1) \endcom
**** File 2) FUNCTI.15[CLS,LSP]/1P/2276L
2) See ``Declarative Method Combination.''
2) \endcom
***************
1) FUNCTI.TEX[CLS,LSP] and 2) FUNCTI.15[CLS,LSP] 2-01-87 10:54 pages 1,1
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2613L
1) such as an instance of a user-defined class. An instance of a
1) standard type class does not have slots.
1) Each {\it instance-form\/} is evaluated exactly once, upon entry to the
**** File 2) FUNCTI.15[CLS,LSP]/1P/2561L
2) such as an instance of a user-defined class. An instance of
2) {\bf standard-type-class} does not have slots.
2) Each {\it instance-form\/} is evaluated exactly once, upon entry to the
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2641L
1) to instances of the superclass are accessible; this might be a different set
1) of slots than those accessible by the instance itself.
**** File 2) FUNCTI.15[CLS,LSP]/1P/2589L
2) to instances of the superclass are accessible; this might be different set
2) of slots than those accessible by the instance itself.
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2695L
1) ;; it is necessary to specify the class of point explicitly,
**** File 2) FUNCTI.15[CLS,LSP]/1P/2643L
2) ;; point is a component class of line
2) ;; it is necessary to specify the class of point explicitly,
***************
**** File 1) FUNCTI.TEX[CLS,LSP]/1P/2708L
1) An error is signalled if the class of {\it instance-form} cannot be inferred
1) from the lexical context in which it occurs, and the {\bf :class} option
**** File 2) FUNCTI.15[CLS,LSP]/1P/2657L
2) An error is signalled if the class of {\it instance} cannot be inferred
2) from the lexical context in which it occurs, and the {\bf :class} option
***************